<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>promise.all的使用</title>
</head>
<body>
    
</body>
<script>
    let promise1 = new Promise((resolve,reject)=>{
        resolve('第一个异步')
    })
    let promise2 = new Promise((resolve,reject)=>{
        resolve('第二个异步')
    })
    /*
        使用Promise.all可以获取两个promise对象的成功属性  
            注意点 如果其中有某个promise对象shireject状态 那么Promise.all是获取不到数据的
    */
    Promise.all([promise1,promise2]).then(res=>{
        console.log(res)
    })

    // 如下的例子 有一个promise对象的状态是reject  所以最终浏览器会报错
    let promise3 = new Promise((resolve,reject)=>{
        reject('error')
    })
    Promise.all([promise2,promise3]).then(res=>{
        console.log(res)
    })

    // 当promise.all其中有一个对象时reject对象的时候  我们可以通过promise.all.catch来获取reject返回的错误原因
    Promise.all([promise1,promise3]).catch(res=>{
        console.log('catch'+res)
    })
</script>
</html>